Transfer Virtual Balance Tokens
Transfers virtual voucher tokens (vcoins) to a recipient, either directly to a wallet or via a social claim link.
Request URL
https://testnet.api.euclidprotocol.com/api/v1/execute/vcoin/transfer
Case 1: Transfer to On-Chain Address
Use this format to transfer vcoins to a known wallet address on a specific chain.
CosmWasm
curl -X 'POST'   'https://testnet.api.euclidprotocol.com/api/v1/execute/vcoin/transfer'   -H 'accept: application/json'   -H 'Content-Type: application/json'   -d '{
    "amount": "1000000",
    "token": "euclid",
    "sender": {
      "chain_uid": "osmosis",
      "address": "osmo1abcxyz..."
    },
    "recipient_address": {
      "user": {
        "address": "inj1xyz123...",
        "chain_uid": "injective"
      }
    },
    "timeout": null
}'{
  "type": "cosmwasm",
  "sender": {
    "chain_uid": "osmosis",
    "address": "osmo1abcxyz..."
  },
  "contract": "osmo1jwfn0rqv8gfwez54xdgxf5h8xvugcpdqrwu47dvwug45sy2g3wvqgax2c3",
  "chain_id": "osmo-test-5",
  "rpc_url": "https://rpc.testnet.osmosis.zone",
  "rest_url": "https://lcd.testnet.osmosis.zone",
  "msgs": [
    {
      "contractAddress": "osmo1jwfn0rqv8gfwez54xdgxf5h8xvugcpdqrwu47dvwug45sy2g3wvqgax2c3",
      "msg": {
        "transfer_virtual_balance": {
          "amount": "1000000",
          "recipient_address": {
            "chain_uid": "injective",
            "address": "inj1xyz123..."
          },
          "timeout": null,
          "token": "euclid"
        }
      },
      "funds": []
    }
  ]
}EVM
curl -X 'POST'   'https://testnet.api.euclidprotocol.com/api/v1/execute/vcoin/transfer'   -H 'accept: application/json'   -H 'Content-Type: application/json'   -d '{
    "amount": "1000000",
    "token": "euclid",
    "sender": {
      "chain_uid": "base",
      "address": "0x887e4aac216674d2c432798f851c1ea5d505b2e1"
    },
    "recipient_address": {
      "user": {
        "address": "0x5abfe1234567890cdefabc1234567890defabc01",
        "chain_uid": "amoy"
      }
    },
    "timeout": null
}'{
  "claimer": {
    "public_secret": "",
    "otp": "",
    "_id": "",
    "created_at": "0001-01-01T00:00:00Z"
  },
  "msgs": [
    {
      "chainId": "84532",
      "data": "0xf2ef68ca000000...",
      "gasLimit": "0x493E0",
      "to": "0x00a739e4479c97289801654ec1a52a67077613c0",
      "value": "0x0"
    }
  ],
  "type": "evm"
}Case 2: Transfer to Social Recipient
Use this format to send vouchers to a recipient identified via email, Twitter, or Telegram.
The recipient will receive a claim link to withdraw funds to any chain after verifying their identity.
CosmWasm
curl -X 'POST'   'https://testnet.api.euclidprotocol.com/api/v1/execute/vcoin/transfer'   -H 'accept: application/json'   -H 'Content-Type: application/json'   -d '{
    "amount": "1000000",
    "token": "euclid",
    "sender": {
      "chain_uid": "neuron",
      "address": "0x887e4aac216674d2c432798f851c1ea5d505b2e1"
    },
    "recipient_address": {
      "user": {
        "social": {
          "email": "hello@example.com"
        }
      }
    },
    "timeout": null
}'{
  "type": "cosmwasm",
  "sender": {
    "chain_uid": "neuron",
    "address": "0x887e4aac216674d2c432798f851c1ea5d505b2e1"
  },
  "contract": "euclid1aagn260yt7xtvq0jdecxu265zqzkc6mhc4glql2q2nmdsqwzmyzs8lfhhx",
  "chain_id": "neuron-1",
  "rpc_url": "https://rpc.neuron.euclidprotocol.com",
  "rest_url": "https://lcd.neuron.euclidprotocol.com",
  "msgs": [
    {
      "contractAddress": "euclid1aagn260yt7xtvq0jdecxu265zqzkc6mhc4glql2q2nmdsqwzmyzs8lfhhx",
      "msg": {
        "transfer_virtual_balance": {
          "amount": "1000000",
          "msg": "eyJjcmVhdGVfdm91Y2hlcl9j...",
          "recipient_address": {
            "chain_uid": "neuron",
            "address": "euclid16f2t3yyax8ahau7g37v4r6vl65py3mh6wg63kzvz39mknc7txgms72dpe4"
          },
          "timeout": null,
          "token": "euclid"
        }
      },
      "funds": []
    }
  ],
  "claimer": {
    "public_secret": "BDfIjPyf2NRf5XS7JU6MDQiRdn2nUWYpf8o+5QEwip+9Xe/W7E39Qyq4LD97IqRG3jyypB6rFMBNhNY5LOdNOAI=",
    "otp": "KFEVeW",
    "_id": "68c1b1a95a6900a91ee48f00",
    "social": {
      "email": "hello@example.com"
    },
    "created_at": "2025-09-10T17:13:13.018060475Z",
    "sender": {
      "chain_uid": "neuron",
      "address": "0x887e4aac216674d2c432798f851c1ea5d505b2e1"
    }
  }
}EVM
curl -X 'POST'   'https://testnet.api.euclidprotocol.com/api/v1/execute/vcoin/transfer'   -H 'accept: application/json'   -H 'Content-Type: application/json'   -d '{
    "amount": "1000000",
    "token": "euclid",
    "sender": {
      "chain_uid": "base",
      "address": "0x887e4aac216674d2c432798f851c1ea5d505b2e1"
    },
    "recipient_address": {
      "user": {
        "social": {
          "email": "hello@example.com"
        }
      }
    },
    "timeout": null
}'{
  "claimer": {
    "public_secret": "BM1KMpH9lWivFx47fdepokMz1OYoW8NVlN53VtSF/ohm/lxutP0hHAu54XppChYSEZdel7rhjS5i6H3O+8JlP5I=",
    "otp": "tjssQK",
    "_id": "68c1b21ea6528cd2c9902283",
    "social": {
      "email": "hello@example.com"
    },
    "created_at": "2025-09-10T17:15:10.09659361Z",
    "sender": {
      "chain_uid": "base",
      "address": "0x887e4aac216674d2c432798f851c1ea5d505b2e1"
    }
  },
  "msgs": [
    {
      "chainId": "84532",
      "data": "0xf2ef68ca0000...",
      "gasLimit": "0x493E0",
      "to": "0x00a739e4479c97289801654ec1a52a67077613c0",
      "value": "0x0"
    }
  ],
  "type": "evm"
}Parameters
| Field | Type | Description | 
|---|---|---|
| amount | string | Amount of the virtual token to transfer (in base units). | 
| token | string | Name of the virtual token to transfer (e.g. "euclid"). | 
| sender | CrossChainUser | The address and chain initiating the transfer. | 
| recipient_address | object | Either a standard recipient with chain_uidandaddress, or asocialrecipient using email, Twitter, or Telegram. | 
| timeout | string | null | Optional timeout value in seconds or as an ISO timestamp string. | 
Social Recipient Format Examples
// Using email
"recipient_address": {
  "user": {
    "social": {
      "email": "hello@example.com"
    }
  }
}
// Using telegram
"recipient_address": {
  "user": {
    "social": {
      "telegram": "@recipient_handle"
    }
  }
}
// Using twitter with pub_key
"recipient_address": {
  "user": {
    "social": {
      "twitter": "@recipient_xyz",
      "pub_key": "abcd1234efgh5678ijkl9012mnop3456qrst7890uvwx"
    }
  }
}